import request from '@/config/axios'

// 配送预警配置 VO
export interface AlertConfigVO {
  id: number // 主键ID
  configName: string // 配置名称
  alertHours: number // 预警小时数
  alertMessage: string // 预警消息
  isEnabled: boolean // 是否启用
  remark: string // 备注
}

// 为了兼容性，导出 AlertConfig 类型别名
export type AlertConfig = AlertConfigVO

// 配送预警配置 API
export const AlertConfigApi = {
  // 查询配送预警配置分页
  getAlertConfigPage: async (params: any) => {
    return await request.get({ url: `/trade/alert-config/page`, params })
  },

  // 查询配送预警配置详情
  getAlertConfig: async (id: number) => {
    return await request.get({ url: `/trade/alert-config/get?id=` + id })
  },

  // 新增配送预警配置
  createAlertConfig: async (data: AlertConfigVO) => {
    return await request.post({ url: `/trade/alert-config/create`, data })
  },

  // 修改配送预警配置
  updateAlertConfig: async (data: AlertConfigVO) => {
    return await request.put({ url: `/trade/alert-config/update`, data })
  },

  // 删除配送预警配置
  deleteAlertConfig: async (id: number) => {
    return await request.delete({ url: `/trade/alert-config/delete?id=` + id })
  },

  // 导出配送预警配置 Excel
  exportAlertConfig: async (params) => {
    return await request.download({ url: `/trade/alert-config/export-excel`, params })
  },

  // 批量删除配送预警配置
  deleteAlertConfigList: async (ids: number[]) => {
    return await request.delete({
      url: `/trade/alert-config/delete-list`,
      params: { ids: ids.join(',') }
    })
  },

  // 获取启用的预警配置列表
  getEnabledAlertConfigs: async () => {
    return await request.get({ url: `/trade/alert-config/enabled-list` })
  }
}
